﻿using MediatR;
using System.ComponentModel.DataAnnotations;
using T.Materials.Domain.Model;

namespace T.Materials.API.Application.Command.MaterialStatisticsCommand
{
    /// <summary>
    /// 更新物料统计信息命令
    /// </summary>
    public class UpdateMaterialStatisticsCommand : IRequest<int>
    {
        /// <summary>
        /// 物资统计Id
        /// </summary>
        public int MaterialStatisticsId { get; set; }

        /// <summary>
        /// 公司ID全球唯一标识符
        /// </summary>
        public string? CompanyID { get; set; }

        /// <summary>
        /// 用户ID
        /// </summary>
        public int User_Id { get; set; }

        /// <summary>
        /// 货物名称
        /// </summary>
        public string? NameGoods { get; set; }

        /// <summary>
        /// 类型
        /// </summary>
        public string? MaterialStatisticsType { get; set; }

        /// <summary>
        /// 材质
        /// </summary>
        public string? MaterialStatisticsMaterial { get; set; }

        /// <summary>
        /// 规格
        /// </summary>
        public string? MaterialStatistSpecificat { get; set; }

        /// <summary>
        /// 国家
        /// </summary>
        public string? Country { get; set; }

        /// <summary>
        /// 省/州
        /// </summary>
        public string? Economize { get; set; }

        /// <summary>
        /// 期间采购数量
        /// </summary>
        public int PurchaseQuantity { get; set; }

        /// <summary>
        /// 期间领用数量
        /// </summary>
        public int QuantiReceived { get; set; }

        /// <summary>
        /// 期间结余数量
        /// </summary>
        public int BalanceQuantity { get; set; }

        /// <summary>
        /// 最新采购时间
        /// </summary>
        public DateTime ProcuremenTime { get; set; }

        /// <summary>
        /// 修改人
        /// </summary>
        public string? UpdatedBy { get; set; }
    }
}
